# 2 Appendix

1. Overview of the IEEE-488 GPIB
2. Notes on Specific Hardware
1. GPIB-PC/104
2. GPIB-PCW, GPIB-HS-NT+, GPIB-AT
Software Manual:

# 2.1 Overview of the IEEE-488 GPIB

Introduction The IEEE-488 or IEC 625 interface (GPIB) is a powerful tool for communication and control of devices used in the fields of measurement, automation, and data analysis. The acceptance of the interface as a worldwide standard had its start when Hewlett Packard created the HP-IB (Hewlett Packard Interface Bus). It allowed the company to equip completely different instruments with one standard interface.

In the following years, the HP-IB has become accepted worldwide without major changes in the form of the standards IEEE-488 and IEC 625. The only difference between IEEE-488 and IEC 625 is in the type of connector used.

The IEEE-488 uses a 24 pin amphenol connector, while the IEC 625 uses a 25 pin connector (called the MIN-D-SUB). The connection to different types can be made easily with the use of an adapter cable.

Fifteen devices can be operated on the IEEE-488 bus in a parallel manner. The management of the bus is handled by the Controller. By using a three line handshake protocol, it is assured that the slowest connected and addressed device determines the data transfer rate of the overall system. The benefit to this three line handshake is extremely reliable data transfer without the use of a separate timing parameter or clock.

The IEEE-488 Bus The IEEE-488 bus is a communication system of up to 15 devices with a single system controller (usually a PC or similar computer). The interfaces are connected with a 24 pin cable to one another.

Eight of the 24 lines provide byte oriented, paralleled data transfer. The other sixteen lines provide signals for communication control as well as the necessary grounding (GND). Each device that is connected to the bus, as well as the system controller, is identified by a unique address. An address is a primary address only, or a primary address together with a secondary address. Secondary addressing is commonly used to address subdevices of a device. A primary address ranges from 0 to 30 and a secondary address ranges from 0 to 31.

The controller A device that is capable of sending interface messages is called a controller. There may be only one active controller in a system. The controller which functions as the active controller once the system has been started is called the system controller. Interface messages are defined by the IEEE-488 standard and they are common to every device conforming to IEEE-488.1 or IEEE-488.2. Interface messages are used to setup the GPIB data transfer direction by specifiing a talker and one or more listener(s), reset the interface of a device and a device itself, query for status information and configure an instrument for remote control. A device receives these interface messages, which are identified by the ATN line being active. Interface messages (sometimes called commands) that affect every device connected to the IEEE-488 bus belong to the universal command group and interface messages the affect only the addressed device are called addressed command group.

Talker listener devices A device which can send device specific messages to the bus after it has been addressed is called a talker. A device which can receive device specific data from the bus is called a listener. Most devices do combine both of these characteristics. To transfer data there must be exactly one talker and at least one listener. Since device specific messages are not specified by the IEEE-488.1 specification these messages vary between the different instruments. The more recent IEEE-488.2 specification uses the SCPI (Standard Commands for Programmable Instruments) language to control instruments. These messages bases on the IEEE-488.1 hardware protocol. For this reason it is possible to control a IEEE-488.2 device by a controller that just conforms to IEEE-488.1.

Transfering data At the beginning of a communication sequence, the controller sends a talker and a listener address. Then, the ATN (attention) line is set to 'false' and the addressed talker starts with its data transfer. Each of the data bytes is transfered by using the three line handshake which enshures that the talker does not send another data byte before the listener has accepted the actual byte. The data transfer is terminated by a special character the EOS (End Of Sequence; usually a linefeed, ASCII code 10) or by a special control line, the EOI line (End Or Identify). Using the EOI line is commonly used for binary data transfer. After the data has been transfered, the controller sets ATN to 'true' and may initiate the next sequence. The controller can also address itself as a talker/listener which is the most usual case.

Software Manual:

# 2.2 Notes on Specific Hardware

1. GPIB-PC/104
2. GPIB-PCW, GPIB-HS-NT+, GPIB-AT

### 2.2.1 GPIB-PC/104

I/O address configuration The DIP switch SW 1-2 on the card is used to select the base I/O address of the card. Position 6 is ignored. Set position 1 through 5 according to the following table. Choose an unallocated region of I/O addresses.

Table 5 GPIB-PC104 address selection
HEX | DEC | Pos 1 | Pos 2 | Pos 3 | Pos 4 | Pos 5
--- | --- | --- | --- | --- | --- | ---
100 | 256 | on | on | on | off | on
120 | 288 | off | on | on | off | on
140 | 320 | on | off | on | off | on
160 | 352 | off | off | on | off | on
180 | 384 | on | on | off | off | on
1A0 | 416 | off | on | off | off | on
1C0 | 448 | on | off | off | off | on
1E0 | 480 | off | off | off | off | on
200 | 512 | on | on | on | on | off
220 | 544 | off | on | on | on | off
240 | 576 | on | off | on | on | off
260 | 608 | off | off | on | on | off
280 | 640 | on | on | off | on | off
2A0 | 672 | off | on | off | on | off
2C0 | 704 | on | off | off | on | off
2E0 | 736 | off | off | off | on | off
300 | 768 | on | on | on | off | off
320 | 800 | off | on | on | off | off
340 | 832 | on | off | on | off | off
360 | 864 | off | off | on | off | off
380 | 896 | on | on | off | off | off
3A0 | 928 | off | on | off | off | off
3C0 | 960 | on | off | off | off | off
3E0 | 992 | off | off | off | off | off

IRQ address configuration IRQ 5 is preselected. If conflicting with another card change it to an unallocated IRQ channel.

### 2.2.2 GPIB-PCW, GPIB-HS-NT+, GPIB-AT

I/O address configuration The I/O address DIP switch on the card is used to select the base I/O address of the card. Position 8 must always be ON. Set position 1 through 7 according to the following table. Choose an unallated region if I/O addresses.

Table 6 GPIB-PC, GPIB-HS-NT+, GPIB-AT address selection
HEX | DEC | Pos 1 | Pos 2 | Pos 3 | Pos 4 | Pos 5 | Pos 6 | Pos 7
--- | --- | --- | --- | --- | --- | --- | --- | ---
100 | 256 | ON | ON | ON | ON | ON | OFF | ON
108 | 264 | OFF | ON | ON | ON | ON | OFF | ON
110 | 272 | ON | OFF | ON | ON | ON | OFF | ON
118 | 280 | OFF | OFF | ON | ON | ON | OFF | ON
120 | 288 | ON | ON | OFF | ON | ON | OFF | ON
128 | 296 | OFF | ON | OFF | ON | ON | OFF | ON
130 | 304 | ON | OFF | OFF | ON | ON | OFF | ON
138 | 312 | OFF | OFF | OFF | ON | ON | OFF | ON
140 | 320 | ON | ON | ON | OFF | ON | OFF | ON
148 | 328 | OFF | ON | ON | OFF | ON | OFF | ON
150 | 336 | ON | OFF | ON | OFF | ON | OFF | ON
158 | 344 | OFF | OFF | ON | OFF | ON | OFF | ON
160 | 352 | ON | ON | OFF | OFF | ON | OFF | ON
168 | 360 | OFF | ON | OFF | OFF | ON | OFF | ON
170 | 368 | ON | OFF | OFF | OFF | ON | OFF | ON
178 | 376 | OFF | OFF | OFF | OFF | ON | OFF | ON
180 | 384 | ON | ON | ON | ON | OFF | OFF | ON
188 | 392 | OFF | ON | ON | ON | OFF | OFF | ON
190 | 400 | ON | OFF | ON | ON | OFF | OFF | ON
198 | 408 | OFF | OFF | ON | ON | OFF | OFF | ON
1A0 | 416 | ON | ON | OFF | ON | OFF | OFF | ON
1A8 | 424 | OFF | ON | OFF | ON | OFF | OFF | ON
1B0 | 432 | ON | OFF | OFF | ON | OFF | OFF | ON
1B8 | 440 | OFF | OFF | OFF | ON | OFF | OFF | ON
1C0 | 448 | ON | ON | ON | OFF | OFF | OFF | ON
1C8 | 456 | OFF | ON | ON | OFF | OFF | OFF | ON
1D0 | 464 | ON | OFF | ON | OFF | OFF | OFF | ON
1D8 | 472 | OFF | OFF | ON | OFF | OFF | OFF | ON
1E0 | 480 | ON | ON | OFF | OFF | OFF | OFF | ON
1E8 | 488 | OFF | ON | OFF | OFF | OFF | OFF | ON
1F0 | 496 | ON | OFF | OFF | OFF | OFF | OFF | ON
1F8 | 504 | OFF | OFF | OFF | OFF | OFF | OFF | ON
200 | 512 | ON | ON | ON | ON | ON | ON | OFF
208 | 520 | OFF | ON | ON | ON | ON | ON | OFF
210 | 528 | ON | OFF | ON | ON | ON | ON | OFF
218 | 536 | OFF | OFF | ON | ON | ON | ON | OFF
220 | 544 | ON | ON | OFF | ON | ON | ON | OFF
228 | 552 | OFF | ON | OFF | ON | ON | ON | OFF
230 | 560 | ON | OFF | OFF | ON | ON | ON | OFF
238 | 568 | OFF | OFF | OFF | ON | ON | ON | OFF
240 | 576 | ON | ON | ON | OF | ON | ON | OFF
248 | 584 | OFF | ON | ON | OFF | ON | ON | OFF
250 | 592 | ON | OFF | ON | OFF | ON | ON | OFF
258 | 600 | OFF | OFF | ON | OFF | ON | ON | OFF
260 | 608 | ON | ON | OFF | OFF | ON | ON | OFF
268 | 616 | OFF | ON | OFF | OFF | ON | ON | OFF
270 | 624 | ON | OFF | OFF | OFF | ON | ON | OFF
278 | 632 | OFF | OFF | OFF | OFF | ON | ON | OFF
280 | 640 | ON | ON | ON | ON | OFF | ON | OFF
288 | 648 | OFF | ON | ON | ON | OFF | ON | OFF
290 | 656 | ON | OFF | ON | ON | OFF | ON | OFF
298 | 664 | OFF | OFF | ON | ON | OFF | ON | OFF
2A0 | 672 | ON | ON | OFF | ON | OFF | ON | OFF
2A8 | 680 | OFF | ON | OFF | ON | OFF | ON | OFF
2B0 | 688 | ON | OFF | OFF | ON | OFF | ON | OFF
2B8 | 696 | OFF | OFF | OFF | ON | OFF | ON | OFF
2C0 | 704 | ON | ON | ON | OFF | OFF | ON | OFF
2C8 | 712 | OFF | ON | ON | OFF | OFF | ON | OFF
2D0 | 720 | ON | OFF | ON | OFF | OFF | ON | OFF
2D8 | 728 | OFF | OFF | ON | OFF | OFF | ON | OFF
2E0 | 736 | ON | ON | OFF | OFF | OFF | ON | OFF
2E8 | 744 | ON | ON | OFF | OFF | OFF | ON | OFF
2F0 | 752 | ON | OFF | OFF | OFF | OFF | ON | OFF
2F8 | 760 | OFF | OFF | OFF | OFF | OFF | ON | OFF
300 | 768 | ON | ON | ON | ON | ON | OFF | OFF
308 | 776 | OFF | ON | ON | ON | ON | OFF | OFF
310 | 784 | ON | OFF | ON | ON | ON | OFF | OFF
318 | 792 | OFF | OFF | ON | ON | ON | OFF | OFF
320 | 800 | ON | ON | OFF | ON | ON | OFF | OFF
328 | 808 | OFF | ON | OFF | ON | ON | OFF | OFF
330 | 816 | ON | OFF | OFF | ON | ON | OFF | OFF
338 | 824 | OFF | OFF | OFF | ON | ON | OFF | OFF
340 | 832 | ON | ON | ON | OFF | ON | OFF | OFF
348 | 840 | OFF | ON | ON | OFF | ON | OFF | OFF
350 | 848 | ON | OFF | ON | OFF | ON | OFF | OFF
358 | 856 | OFF | OFF | ON | OFF | ON | OFF | OFF
360 | 864 | ON | ON | OFF | OFF | ON | OFF | OFF
368 | 872 | OFF | ON | OFF | OFF | ON | OFF | OFF
370 | 880 | ON | OFF | OFF | OFF | ON | OFF | OFF
378 | 888 | OFF | OFF | OFF | OFF | ON | OFF | OFF
380 | 896 | ON | ON | ON | ON | OFF | OFF | OFF
388 | 904 | OFF | ON | ON | ON | OFF | OFF | OFF
390 | 912 | ON | OF | ON | ON | OFF | OFF | OFF
398 | 920 | OFF | OFF | ON | ON | OFF | OFF | OFF
3A0 | 928 | ON | ON | OFF | ON | OFF | OFF | OFF
3A8 | 936 | OFF | ON | OFF | ON | OFF | OFF | OFF
3B0 | 944 | ON | OFF | OFF | ON | OFF | OFF | OFF
3B8 | 952 | OFF | OFF | OFF | ON | OFF | OFF | OFF
3C0 | 960 | ON | ON | ON | OFF | OFF | OFF | OFF
3C8 | 968 | OFF | ON | ON | OFF | OFF | OFF | OFF
3D0 | 976 | ON | OFF | ON | OFF | OFF | OFF | OFF
3D8 | 984 | OFF | OFF | ON | OFF | OFF | OFF | OFF
3E0 | 992 | ON | ON | OFF | OFF | OFF | OFF | OFF
3E8 | 1000 | OFF | ON | OFF | OFF | OFF | OFF | OFF
3F0 | 1008 | ON | OFF | OFF | OFF | OFF | OFF | OFF
3F8 | 1016 | OFF | OFF | OFF | OFF | OFF | OFF | OFF

IRQ address configuration IRQ 5 is preselected. If conflicting with another card change it to an unallocated IRQ channel.

### 2.2.1 GPIB-PC/104

I/O address configuration The DIP switch SW 1-2 on the card is used to select the base I/O address of the card. Position 6 is ignored. Set position 1 through 5 according to the following table. Choose an unallocated region of I/O addresses.

Table 5 GPIB-PC104 address selection
HEX | DEC | Pos 1 | Pos 2 | Pos 3 | Pos 4 | Pos 5
--- | --- | --- | --- | --- | --- | ---
100 | 256 | on | on | on | off | on
120 | 288 | off | on | on | off | on
140 | 320 | on | off | on | off | on
160 | 352 | off | off | on | off | on
180 | 384 | on | on | off | off | on
1A0 | 416 | off | on | off | off | on
1C0 | 448 | on | off | off | off | on
1E0 | 480 | off | off | off | off | on
200 | 512 | on | on | on | on | off
220 | 544 | off | on | on | on | off
240 | 576 | on | off | on | on | off
260 | 608 | off | off | on | on | off
280 | 640 | on | on | off | on | off
2A0 | 672 | off | on | off | on | off
2C0 | 704 | on | off | off | on | off
2E0 | 736 | off | off | off | on | off
300 | 768 | on | on | on | off | off
320 | 800 | off | on | on | off | off
340 | 832 | on | off | on | off | off
360 | 864 | off | off | on | off | off
380 | 896 | on | on | off | off | off
3A0 | 928 | off | on | off | off | off
3C0 | 960 | on | off | off | off | off
3E0 | 992 | off | off | off | off | off

IRQ address configuration IRQ 5 is preselected. If conflicting with another card change it to an unallocated IRQ channel.

### 2.2.2 GPIB-PCW, GPIB-HS-NT+, GPIB-AT

I/O address configuration The I/O address DIP switch on the card is used to select the base I/O address of the card. Position 8 must always be ON. Set position 1 through 7 according to the following table. Choose an unallated region if I/O addresses.

Table 6 GPIB-PC, GPIB-HS-NT+, GPIB-AT address selection
HEX | DEC | Pos 1 | Pos 2 | Pos 3 | Pos 4 | Pos 5 | Pos 6 | Pos 7
--- | --- | --- | --- | --- | --- | --- | --- | ---
100 | 256 | ON | ON | ON | ON | ON | OFF | ON
108 | 264 | OFF | ON | ON | ON | ON | OFF | ON
110 | 272 | ON | OFF | ON | ON | ON | OFF | ON
118 | 280 | OFF | OFF | ON | ON | ON | OFF | ON
120 | 288 | ON | ON | OFF | ON | ON | OFF | ON
128 | 296 | OFF | ON | OFF | ON | ON | OFF | ON
130 | 304 | ON | OFF | OFF | ON | ON | OFF | ON
138 | 312 | OFF | OFF | OFF | ON | ON | OFF | ON
140 | 320 | ON | ON | ON | OFF | ON | OFF | ON
148 | 328 | OFF | ON | ON | OFF | ON | OFF | ON
150 | 336 | ON | OFF | ON | OFF | ON | OFF | ON
158 | 344 | OFF | OFF | ON | OFF | ON | OFF | ON
160 | 352 | ON | ON | OFF | OFF | ON | OFF | ON
168 | 360 | OFF | ON | OFF | OFF | ON | OFF | ON
170 | 368 | ON | OFF | OFF | OFF | ON | OFF | ON
178 | 376 | OFF | OFF | OFF | OFF | ON | OFF | ON
180 | 384 | ON | ON | ON | ON | OFF | OFF | ON
188 | 392 | OFF | ON | ON | ON | OFF | OFF | ON
190 | 400 | ON | OFF | ON | ON | OFF | OFF | ON
198 | 408 | OFF | OFF | ON | ON | OFF | OFF | ON
1A0 | 416 | ON | ON | OFF | ON | OFF | OFF | ON
1A8 | 424 | OFF | ON | OFF | ON | OFF | OFF | ON
1B0 | 432 | ON | OFF | OFF | ON | OFF | OFF | ON
1B8 | 440 | OFF | OFF | OFF | ON | OFF | OFF | ON
1C0 | 448 | ON | ON | ON | OFF | OFF | OFF | ON
1C8 | 456 | OFF | ON | ON | OFF | OFF | OFF | ON
1D0 | 464 | ON | OFF | ON | OFF | OFF | OFF | ON
1D8 | 472 | OFF | OFF | ON | OFF | OFF | OFF | ON
1E0 | 480 | ON | ON | OFF | OFF | OFF | OFF | ON
1E8 | 488 | OFF | ON | OFF | OFF | OFF | OFF | ON
1F0 | 496 | ON | OFF | OFF | OFF | OFF | OFF | ON
1F8 | 504 | OFF | OFF | OFF | OFF | OFF | OFF | ON
200 | 512 | ON | ON | ON | ON | ON | ON | OFF
208 | 520 | OFF | ON | ON | ON | ON | ON | OFF
210 | 528 | ON | OFF | ON | ON | ON | ON | OFF
218 | 536 | OFF | OFF | ON | ON | ON | ON | OFF
220 | 544 | ON | ON | OFF | ON | ON | ON | OFF
228 | 552 | OFF | ON | OFF | ON | ON | ON | OFF
230 | 560 | ON | OFF | OFF | ON | ON | ON | OFF
238 | 568 | OFF | OFF | OFF | ON | ON | ON | OFF
240 | 576 | ON | ON | ON | OF | ON | ON | OFF
248 | 584 | OFF | ON | ON | OFF | ON | ON | OFF
250 | 592 | ON | OFF | ON | OFF | ON | ON | OFF
258 | 600 | OFF | OFF | ON | OFF | ON | ON | OFF
260 | 608 | ON | ON | OFF | OFF | ON | ON | OFF
268 | 616 | OFF | ON | OFF | OFF | ON | ON | OFF
270 | 624 | ON | OFF | OFF | OFF | ON | ON | OFF
278 | 632 | OFF | OFF | OFF | OFF | ON | ON | OFF
280 | 640 | ON | ON | ON | ON | OFF | ON | OFF
288 | 648 | OFF | ON | ON | ON | OFF | ON | OFF
290 | 656 | ON | OFF | ON | ON | OFF | ON | OFF
298 | 664 | OFF | OFF | ON | ON | OFF | ON | OFF
2A0 | 672 | ON | ON | OFF | ON | OFF | ON | OFF
2A8 | 680 | OFF | ON | OFF | ON | OFF | ON | OFF
2B0 | 688 | ON | OFF | OFF | ON | OFF | ON | OFF
2B8 | 696 | OFF | OFF | OFF | ON | OFF | ON | OFF
2C0 | 704 | ON | ON | ON | OFF | OFF | ON | OFF
2C8 | 712 | OFF | ON | ON | OFF | OFF | ON | OFF
2D0 | 720 | ON | OFF | ON | OFF | OFF | ON | OFF
2D8 | 728 | OFF | OFF | ON | OFF | OFF | ON | OFF
2E0 | 736 | ON | ON | OFF | OFF | OFF | ON | OFF
2E8 | 744 | ON | ON | OFF | OFF | OFF | ON | OFF
2F0 | 752 | ON | OFF | OFF | OFF | OFF | ON | OFF
2F8 | 760 | OFF | OFF | OFF | OFF | OFF | ON | OFF
300 | 768 | ON | ON | ON | ON | ON | OFF | OFF
308 | 776 | OFF | ON | ON | ON | ON | OFF | OFF
310 | 784 | ON | OFF | ON | ON | ON | OFF | OFF
318 | 792 | OFF | OFF | ON | ON | ON | OFF | OFF
320 | 800 | ON | ON | OFF | ON | ON | OFF | OFF
328 | 808 | OFF | ON | OFF | ON | ON | OFF | OFF
330 | 816 | ON | OFF | OFF | ON | ON | OFF | OFF
338 | 824 | OFF | OFF | OFF | ON | ON | OFF | OFF
340 | 832 | ON | ON | ON | OFF | ON | OFF | OFF
348 | 840 | OFF | ON | ON | OFF | ON | OFF | OFF
350 | 848 | ON | OFF | ON | OFF | ON | OFF | OFF
358 | 856 | OFF | OFF | ON | OFF | ON | OFF | OFF
360 | 864 | ON | ON | OFF | OFF | ON | OFF | OFF
368 | 872 | OFF | ON | OFF | OFF | ON | OFF | OFF
370 | 880 | ON | OFF | OFF | OFF | ON | OFF | OFF
378 | 888 | OFF | OFF | OFF | OFF | ON | OFF | OFF
380 | 896 | ON | ON | ON | ON | OFF | OFF | OFF
388 | 904 | OFF | ON | ON | ON | OFF | OFF | OFF
390 | 912 | ON | OF | ON | ON | OFF | OFF | OFF
398 | 920 | OFF | OFF | ON | ON | OFF | OFF | OFF
3A0 | 928 | ON | ON | OFF | ON | OFF | OFF | OFF
3A8 | 936 | OFF | ON | OFF | ON | OFF | OFF | OFF
3B0 | 944 | ON | OFF | OFF | ON | OFF | OFF | OFF
3B8 | 952 | OFF | OFF | OFF | ON | OFF | OFF | OFF
3C0 | 960 | ON | ON | ON | OFF | OFF | OFF | OFF
3C8 | 968 | OFF | ON | ON | OFF | OFF | OFF | OFF
3D0 | 976 | ON | OFF | ON | OFF | OFF | OFF | OFF
3D8 | 984 | OFF | OFF | ON | OFF | OFF | OFF | OFF
3E0 | 992 | ON | ON | OFF | OFF | OFF | OFF | OFF
3E8 | 1000 | OFF | ON | OFF | OFF | OFF | OFF | OFF
3F0 | 1008 | ON | OFF | OFF | OFF | OFF | OFF | OFF
3F8 | 1016 | OFF | OFF | OFF | OFF | OFF | OFF | OFF

IRQ address configuration IRQ 5 is preselected. If conflicting with another card change it to an unallocated IRQ channel.